home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 20
/
Commodore_Free_Issue_20_2008_Commodore_Computer_Club.d64
/
t.iv nightlord2
< prev
next >
Wrap
Text File
|
2023-02-26
|
9KB
|
292 lines
u
Interview with Nightlord Commodore 64
programmer
CONTINUED FROM PART 1
CF. Can C=++ make use of external
commodore hardware for example the SCPU
or CMD Ram link?
NL: Well the compiler generates 6502
code. I have no idea how RamLink
works. The resulting code will of
course run on a SCPU but won't be able
to use the extended SCPU commands.
CF. Would you consider extending the
language to support further hardware?
NL: If you mean support for SCPU as in
the "compiled programs can use SCPU
features or its bigger address space",
it might be possible to do relatively
easily. Although I must say I do not
see a huge demand from the thousands
of SCPU developers out there.
If you mean supporting other CPUs like
Z80 or 68000, it is not as easy. I do
not consider doing it.
Finally if you mean supporting the
compiler itself to run on a Commodore
machine, than I can confidently answer
"no". Parsing C++ code and generating
binaries on Commodore is something I
will not try to do.
CF. is the C= ++ source code available
for download? if so where? if not,
will it be available?
NL: Yes it is under GNU GPL license.
It will be available in the official
Cepp site
www.cepp.nightnetwork.org
The site will open by the end of July
at CommVex 2008.
CF. Will the Code be open source and
therefore free to modify?
NL: Yes. The code will be released
Inline with GNU GPL license agreement.
CF. You have produced a Tetris clone
with C= ++ will this Tetris clone be
released as a standalone application?
NL: The Tetris clone (creatively named
Cepptris) is a proof of concept that
the compiler works. I will probably
put it somewhere in the web site as
well as CSDB but it should not be
considered a game really. It is an
example for other people to look at.
Especially an example of how C=++ code
and asm code are used together.
CF. Taking the Tetris clone you
created in C=++ how long did this take
to create in C=++ and how long would
the same version take using Assembler?
NL: Hmm it is hard to answer exactly
but I think it took about 5-6 hours to
write Cepptris including the C=++ and
assembler parts. Since it has no
graphics or sound it was a very short
project. Had I written it in assembler
I guess it would take somewhere in
12-14 hours for me. But keep in mind
these numbers and ratios apply to me.
Someone else might be more fluent in
assembler and less comfortable with
C=++ and actually take longer to write
with C=++. It also depends on the
unique types of problems in the
particular game. Tetris does not
really have some of the problems that
really inspired me to make the
compiler in the first place. A real
time strategy game has those problems
but is too big a project to choose as
a quick proof of concept project for
my compiler.
CF. You mentioned in a demo at
Mossycon that you would think C=++
would be used for the logic code in a
game and assembler for the speed
intensive part so you would use C=++
to build the artificial intelligence
is this still how you see the language
being used?
NL: Yes the main areas I see for the
language usage are AI, logic and
dynamic memory management areas. It
might potentially be useful in various
utilities or non-game applications if
some UI widget libraries get
developed. I hope this will happen as
it is easy to write a widget library
or a graphic library and provide a C++
interface to it. In other words it is
easy to write some assembly code and
make it look like C++ classes to your
C=++ code.
So people could write a UI framework
that has forms and buttons and edit
boxes etc. and others could than
quickly code utilities or even
diskmags using those framework
libraries. So in a wonderful world
this could increase the reusability of
code in the Commodore world & improve
the efficiency & collaboration of
programmers. In the real world this
might be me hugging a tree. Another
area I can see the language being used
is some certain demo effects where
there are particle systems or the like
CF. What sort of programmer are you,
for example have you purely created
demos?
NL: In the Commodore world, I have
only released demos until now. So I am
a demo coder yes. I have unfinished
game projects in the queue too. I have
done a few graphics and music releases
as well. I guess I am OK as a musician
and showing some minimal promise as a
graphical artist as well because
people do not go and puke after being
exposed to my work.
CF. Do you have a favourite Demo or
application?
NL: I have many favourite demos: Tower
Power/Camelot, Soiled Legacy/Resource,
Krestology/Crest, Dawnfall/Oxyron,
Mathematica/Reflex, 100000 Light Years
from Earth/Fairlight, Boogie
Factor/Fairlight, Throckmorton
Device/Triad and Living/Glance are a
few that I recall right now.
CF. What Commodore Demo or
applications have you seen and thought
WOW how is this done?
NL: Again many... But I think the
loudest I shouted and jumped from my
seat ever was during the round vector
object part in the demo Tower
Power/Camelot back in 94. Another
recent one was during Artefects/Plush
in the landscape part.
CF. Do you feel its acceptable to
dissemble other code to learn how
techniques were used?
NL: In the C64 I think it is (I am not
sure but I think it might be illegal
for some PC programs to disassemble
them). For C64 it is quite a good
learning method. But how effective/
possible it is really depends on the
type of code you are looking at. For
instance many raster effects in demos
are easy to look & learn from since
they always use the same registers in
various ways. You can actually figure
out what is happening there pretty
easily. On the other hand it is not so
easy to learn from a math based effect
(like vectors or doom effects) since
they are heavily optimized by the use
of tables. So all you see is "ah here
the coder reads some value from this
table then adds it to another value
from another table", as long as you do
not know what calculations are turned
into tables you do not understand much
from that code. Off course it is a
skill that some are better at than
others. I am not very good at figuring
out other people's code.
Also from the ethics point of view it
never hurts to publicly announce it in
your own demo, if you have studied
someone else's code. It is one of
those small signs of respect you
occasionally exchange among coders. A
small nod if you will :)
CF. Why has the C64 survived for so
long?
NL: Because of us... All of us. Those
who still create software/hardware
for it, those who still use it daily
to take care of their stuff or for
fun, and those who write, read and
discuss about it. And I think for
every kind of person on the Commodore
scape the newer technologies have not
completely replaced the fun or
challenges we enjoy. For instance C64
coders still enjoy the cycle counting
challenge that you do not get to see
in new platforms. The users still
enjoy the personality & psychological
tie they have with the machines that
they never feel with the newer machines
etc.
CF. Do you think there is an area that
the C64 has not be utilised to its
fullest in, be it graphics, music,
coding etc.?
NL: Graphics & Music are fully open
ended. There can be a zillion more
music pieces made and there can still
come a piece (most likely form Drax or
Laxity :) )that will make you go
"Wow". Same with the graphics. I can
not really answer for coding. I have
been an active demo coder only in the
last few years & I do feel challenged
& close to the limits of this machines
power but it might very well be my own
incompetency. You should really ask
someone who has been breaking world
records for decades. Someone like
Crest/Crossbow. He might tell you
whether he feels there is less space
left to utilize compared to 15 years
ago. Whether he feels if this is a
moving target or not.
CF. Finally Doom on the C64, is it
feasible & would it be worth the
effort?
NL: Oh it is definitely feasible. At
least I know I can do it using my
already existing doom engine (well
doom engine means the graphics engine
here, not the game engine). I think it
is worth the effort too. In fact I
intend to do it sometime. But I must
add that I would do a doom style game
not the exact same "doom" as it would
not be so much fun to me. I would
rather design the levels the enemies
and the overall game scenario uniquely
instead of copying from Doom.
COMMODORE FREE
Pictures taken from Mossycon was
recorded by Robert and available for
purchase on 2 DVD-R in NTSC format,
The pictures in this review were
extracted from the video, you can
contact Robert at:
http://videocam.net.au/fcug/